package com.his.his_system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 收费总表
 * @TableName dzm_his_care_pkg
 */
@TableName(value ="dzm_his_care_pkg")
public class DzmHisCarePkg implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Object id;

    /**
     *
     */
    private Object hospitalId;

    /**
     *
     */
    private Object doctorId;

    /**
     *
     */
    private Object patientId;

    /**
     *
     */
    private Object careHistoryId;

    /**
     * 挂号ID
     */
    private Object registrationId;

    /**
     * 商户订单号
     */
    private String orderCode;

    /**
     * 应付金额
     */
    private BigDecimal amount;

    /**
     * 在线支付部分
     */
    private BigDecimal olPayPart;

    /**
     * 收费类型：0就诊处，1挂号处，2问答，3...
     */
    private Integer typeId;

    /**
     * 状态:0未支付，1已支付，2确认收款，3申请退款，4已退款,5部分支付,6完成交易（如：已发药），7部分退款
     */
    private Integer status;

    /**
     * 插入时间
     */
    private Object addtime;

    /**
     * 操作地点：1售药，2查检项目，3附加费用，4挂号，，，，
     */
    private Integer opPlace;


    /**
     * 患者信息表
     */
    @TableField(exist = false)
    private  DzmPatient dzmPatient;

    /**
     * 医生信息表
     */
    @TableField(exist = false)
    private DzmHisDoctor dzmHisDoctor;

    /**
     * 处方列表
     */
    @TableField(exist = false)
    private DzmHisCareOrder dzmHisCareOrder;

    /**
     * 支付收费记录表
     */
    @TableField(exist = false)
    private DzmHisCarePaylog dzmHisCarePaylog;


    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     *
     */
    public Object getId() {
        return id;
    }

    /**
     *
     */
    public void setId(Object id) {
        this.id = id;
    }

    /**
     *
     */
    public Object getHospitalId() {
        return hospitalId;
    }

    /**
     *
     */
    public void setHospitalId(Object hospitalId) {
        this.hospitalId = hospitalId;
    }

    /**
     *
     */
    public Object getDoctorId() {
        return doctorId;
    }

    /**
     *
     */
    public void setDoctorId(Object doctorId) {
        this.doctorId = doctorId;
    }

    /**
     *
     */
    public Object getPatientId() {
        return patientId;
    }

    /**
     *
     */
    public void setPatientId(Object patientId) {
        this.patientId = patientId;
    }

    /**
     *
     */
    public Object getCareHistoryId() {
        return careHistoryId;
    }

    /**
     *
     */
    public void setCareHistoryId(Object careHistoryId) {
        this.careHistoryId = careHistoryId;
    }

    /**
     * 挂号ID
     */
    public Object getRegistrationId() {
        return registrationId;
    }

    /**
     * 挂号ID
     */
    public void setRegistrationId(Object registrationId) {
        this.registrationId = registrationId;
    }

    /**
     * 商户订单号
     */
    public String getOrderCode() {
        return orderCode;
    }

    /**
     * 商户订单号
     */
    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    /**
     * 应付金额
     */
    public BigDecimal getAmount() {
        return amount;
    }

    /**
     * 应付金额
     */
    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    /**
     * 在线支付部分
     */
    public BigDecimal getOlPayPart() {
        return olPayPart;
    }

    /**
     * 在线支付部分
     */
    public void setOlPayPart(BigDecimal olPayPart) {
        this.olPayPart = olPayPart;
    }

    /**
     * 收费类型：0就诊处，1挂号处，2问答，3...
     */
    public Integer getTypeId() {
        return typeId;
    }

    /**
     * 收费类型：0就诊处，1挂号处，2问答，3...
     */
    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    /**
     * 状态:0未支付，1已支付，2确认收款，3申请退款，4已退款,5部分支付,6完成交易（如：已发药），7部分退款
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 状态:0未支付，1已支付，2确认收款，3申请退款，4已退款,5部分支付,6完成交易（如：已发药），7部分退款
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 插入时间
     */
    public Object getAddtime() {
        return addtime;
    }

    /**
     * 插入时间
     */
    public void setAddtime(Object addtime) {
        this.addtime = addtime;
    }

    /**
     * 操作地点：1售药，2查检项目，3附加费用，4挂号，，，，
     */
    public Integer getOpPlace() {
        return opPlace;
    }

    /**
     * 操作地点：1售药，2查检项目，3附加费用，4挂号，，，，
     */
    public void setOpPlace(Integer opPlace) {
        this.opPlace = opPlace;
    }


    public DzmPatient getDzmPatient() {
        return dzmPatient;
    }

    public void setDzmPatient(DzmPatient dzmPatient) {
        this.dzmPatient = dzmPatient;
    }

    public DzmHisDoctor getDzmHisDoctor() {
        return dzmHisDoctor;
    }

    public void setDzmHisDoctor(DzmHisDoctor dzmHisDoctor) {
        this.dzmHisDoctor = dzmHisDoctor;
    }

    public DzmHisCareOrder getDzmHisCareOrder() {

        return dzmHisCareOrder;
    }

    public void setDzmHisCareOrder(DzmHisCareOrder dzmHisCareOrder) {
        this.dzmHisCareOrder = dzmHisCareOrder;
    }

    public DzmHisCarePaylog getDzmHisCarePaylog() {
        return dzmHisCarePaylog;
    }

    public void setDzmHisCarePaylog(DzmHisCarePaylog dzmHisCarePaylog) {
        this.dzmHisCarePaylog = dzmHisCarePaylog;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        DzmHisCarePkg other = (DzmHisCarePkg) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getHospitalId() == null ? other.getHospitalId() == null : this.getHospitalId().equals(other.getHospitalId()))
            && (this.getDoctorId() == null ? other.getDoctorId() == null : this.getDoctorId().equals(other.getDoctorId()))
            && (this.getPatientId() == null ? other.getPatientId() == null : this.getPatientId().equals(other.getPatientId()))
            && (this.getCareHistoryId() == null ? other.getCareHistoryId() == null : this.getCareHistoryId().equals(other.getCareHistoryId()))
            && (this.getRegistrationId() == null ? other.getRegistrationId() == null : this.getRegistrationId().equals(other.getRegistrationId()))
            && (this.getOrderCode() == null ? other.getOrderCode() == null : this.getOrderCode().equals(other.getOrderCode()))
            && (this.getAmount() == null ? other.getAmount() == null : this.getAmount().equals(other.getAmount()))
            && (this.getOlPayPart() == null ? other.getOlPayPart() == null : this.getOlPayPart().equals(other.getOlPayPart()))
            && (this.getTypeId() == null ? other.getTypeId() == null : this.getTypeId().equals(other.getTypeId()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getAddtime() == null ? other.getAddtime() == null : this.getAddtime().equals(other.getAddtime()))
            && (this.getOpPlace() == null ? other.getOpPlace() == null : this.getOpPlace().equals(other.getOpPlace()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getHospitalId() == null) ? 0 : getHospitalId().hashCode());
        result = prime * result + ((getDoctorId() == null) ? 0 : getDoctorId().hashCode());
        result = prime * result + ((getPatientId() == null) ? 0 : getPatientId().hashCode());
        result = prime * result + ((getCareHistoryId() == null) ? 0 : getCareHistoryId().hashCode());
        result = prime * result + ((getRegistrationId() == null) ? 0 : getRegistrationId().hashCode());
        result = prime * result + ((getOrderCode() == null) ? 0 : getOrderCode().hashCode());
        result = prime * result + ((getAmount() == null) ? 0 : getAmount().hashCode());
        result = prime * result + ((getOlPayPart() == null) ? 0 : getOlPayPart().hashCode());
        result = prime * result + ((getTypeId() == null) ? 0 : getTypeId().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getAddtime() == null) ? 0 : getAddtime().hashCode());
        result = prime * result + ((getOpPlace() == null) ? 0 : getOpPlace().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", hospitalId=").append(hospitalId);
        sb.append(", doctorId=").append(doctorId);
        sb.append(", patientId=").append(patientId);
        sb.append(", careHistoryId=").append(careHistoryId);
        sb.append(", registrationId=").append(registrationId);
        sb.append(", orderCode=").append(orderCode);
        sb.append(", amount=").append(amount);
        sb.append(", olPayPart=").append(olPayPart);
        sb.append(", typeId=").append(typeId);
        sb.append(", status=").append(status);
        sb.append(", addtime=").append(addtime);
        sb.append(", opPlace=").append(opPlace);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}
